/*
 * Utilities.hpp
 *
 *  Created on: Jun 16, 2011
 *      Author: fqhuy
 */

#ifndef UTILITIES_HPP_
#define UTILITIES_HPP_

#include "MART.hpp"

struct MartConfig{
	char Output[256], Cord3d_File[256], Cameras_File[6][256], Images_File[6][256], ***Images;
	float Start_VoxelX, End_VoxelX, Start_VoxelY, End_VoxelY, Start_VoxelZ,	End_VoxelZ, Pixelsize, VPScaleFactor, Mu; // starting and ending voxel in real value
	long PixelX, PixelY;
	int Num_Camera, Image_Width, Image_Height, NCP, NoofFullItr, Log, Use_Hint;
};

class Timer {
public:
	static double deltaT(int iCounterID=0) ;
};

int LoadData(MART* mart);
int LoadImage(MART* mart);
int LoadConfig(const char* fileName, MART*& mart);
int ShowConfig(MART* mart);


#endif /* UTILITIES_HPP_ */
